Skip to content

Showcase orchestrator voting activity in the UI#457

Merged
ECWireless merged 86 commits into
mainfrom
310-showcase-orchestrator-voting-activity-in-the-ui
Feb 4, 2026
Merged

Showcase orchestrator voting activity in the UI#457
ECWireless merged 86 commits into
mainfrom
310-showcase-orchestrator-voting-activity-in-the-ui

Conversation

@Jipperism

@Jipperism Jipperism commented Dec 22, 2025

Copy link
Copy Markdown
Collaborator

Description

Surface orchestrator governance activity so stakeholders can see how they vote over time and per proposal.

Type of Change

  • feat: New feature
  • fix: Bug fix
  • docs: Documentation update
  • style: Code style/formatting changes
  • refactor: Code refactoring
  • perf: Performance improvement
  • test: Adding or updating tests
  • build: Build system or dependency changes
  • ci: CI/CD changes
  • chore: Other changes

Related Issue

Closes #310
Closes #464

xxx## Changes Made

Governance visibility (core of #310)

  • Orchestrator history: added governance vote events as standard history items (action + proposal link + For/Against/Abstain + timestamp).
  • Orchestrator profile: added a governance participation stat (voted/eligible) to quickly gauge engagement.
  • Treasury proposal pages: refreshed the voters list to show vote, voting power, and links back to orchestrator profiles.
  • Standardized For/Against/Abstain wording, icons, and badge styling across all views.

Voting Widget Formatting (fixes #464)

  • Improved visual hierarchy and spacing in Voting and Treasury Voting widgets.
  • Refined "Your vote" section with clearer typography (SectionLabel) and layout.
  • Updated button sizing and focus states for better usability.

Refactors

  • Split poll vs treasury vote types and extracted shared hooks.
  • Removed legacy voting history/orchestrator list components.
  • Removed Cube.js client and related query generator (replaced by subgraph queries).

Fixes

  • SWR key fix for missing proposal titles.
  • Address and transaction hash formatting.
  • Orchestrators page early return.

Testing

  • Tested locally
  • Added/updated tests
  • All tests passing

Screenshots (if applicable)

image image image image

Checklist

  • My commits are signed (verified)
  • My commit messages follow Conventional Commits format
  • My branch name follows the naming convention
  • My code follows the project's code style
  • I have commented my code where necessary

- Introduced a new component to present a list of orchestrators with their voting statistics, including proposals voted on, votes casted, recent votes, and voting turnout.
- Added Cube.js client for data fetching with new utility functions for querying voting history.
- Introduced VotingHistoryView component to display voting statistics, including proposals voted on and voting turnout.
- Updated package.json and pnpm-lock.yaml to include Cube.js client dependencies.
- Exported VoterSummary type for better type management in voting components.
- Integrated VotingHistoryView into the account layout for displaying voting statistics.
- Added new VotingHistory page to handle routing and data fetching for user voting history.
- Updated account layout to include a new tab for voting history, improving user navigation.
- Implemented utility functions for processing and summarizing voting data from Cube.js.
- Added OrchestratorVotingList component to display voting data for orchestrators.
- Implemented tabbed interface for Yield Overview and Voting History sections.
- Integrated voter summary processing functions to aggregate voting data.
- Updated getStaticProps to fetch and pass initial voter data to the page.
- Adds treasury proposals voting overview
@Jipperism Jipperism linked an issue Dec 22, 2025 that may be closed by this pull request
@vercel

vercel Bot commented Dec 22, 2025

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
explorer-arbitrum-one Ready Ready Preview, Comment Feb 4, 2026 3:09am

Request Review

- Changed the method of accessing raw data from Cube.js API to use a function call.
- Simplified response validation in getStaticProps by removing unnecessary checks and directly using the response for voter summaries.
- Fetches voting metrics (voted/eligible) from Cube.js using LivepeerVoteProposals
- Adds an interactive Stat card to OrchestratingView with a visual progress bar
- Displays participation rate percentage and integrated link to account history
- Adds  utility to the Cube query generator
…nology

- Moved to a friendlier "Sky & Tomato" color scheme to keep voting separate from our main green brand accent.
- Standardized labels to "For / Against / Abstain" everywhere, including the global transaction feed.
- Rebuilt the vote table using our core data table component for a consistent look.
- Made it easier to explore voter history with new dedicated buttons, better tooltips, and subtle animations.
- Cleaned up the layout by stripping out redundant titles and shrinking fonts where they were getting too loud.
- Polished the details: added specific styling for "No reason provided" and refined how voter profiles are we showing voter names and txn links.
- Eliminated the agent log useEffect that was posting debug information.
- Streamlined imports by removing unnecessary useEffect import.
…List

- Changed badge colors to use a "Sky & Tomato" color scheme for better visual distinction.
- Updated badge labels from "Yes/No" to "For/Against" to standardize terminology across the application.

@rickstaa rickstaa left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ECWireless overal looks good. I did already notice these. I do have to last comments arround the graph queries and folder structure which I will add tomorrow.

Comment thread lib/api/ssr.ts Outdated
Comment thread queries/voteEvents.graphql Outdated
Comment thread components/OrchestratingView/index.tsx Outdated
Comment thread queries/treasuryProposalsByIds.graphql Outdated
@rickstaa

rickstaa commented Feb 1, 2026

Copy link
Copy Markdown
Member

@ECWireless I just noticed @Roaring30s already seperated the pagination out in #486 and I forgot to co-author him. Could you merge https://github.com/livepeer/explorer/pull/527/changes first and then rebase.

Comment thread components/VotingWidget/index.tsx
Comment thread components/Treasury/TreasuryVoteTable/TreasuryVoteHistoryModal.tsx
Comment thread components/TransactionsList/index.tsx Outdated
Jipperism and others added 5 commits February 2, 2026 12:45
* refactor: simplify transactionlist treasury parsing

Updates the events query so that we can use it directly for parsing the
treasury voting events.

* chore: fix history view type errors

Ensure types in the history view correctly account for the new proposal
event.
- Introduced a new VoteHistoryModal component to enhance user experience by allowing users to view their voting history in a modal format.
- Updated VotePopover to utilize the new VoteHistoryModal instead of the previous VoteModal.
Remove debug query which was accidentally added in
#529.
Comment thread components/HistoryView/index.tsx Outdated
ECWireless and others added 2 commits February 2, 2026 09:04
Ensures that the linking behavoir for the other events is similar to the
voting behavoir. Also create an extra ipfs helper so code is cleaner.
Comment thread components/OrchestratingView/index.tsx
Comment thread components/Treasury/TreasuryVoteTable/index.tsx

@rickstaa rickstaa left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ECWireless I’ve reviewed the PR and, aside from a few minor improvements around queries and caching, it looks good to merge if you need it before the watercooler. I’ve approved it and am happy to address those improvements in a follow-up PR. Otherwise, I will provide suggestions tomorrow morning and we can merge it tomorrow. Please let me know your preference.

If you merge this please don't forget to co-author the people mentioned in #457 (comment). Thanks! 🙏🏻

@ECWireless

Copy link
Copy Markdown
Collaborator

@ECWireless I’ve reviewed the PR and, aside from a few minor improvements around queries and caching, it looks good to merge if you need it before the watercooler. I’ve approved it and am happy to address those improvements in a follow-up PR. Otherwise, I will provide suggestions tomorrow morning and we can merge it tomorrow. Please let me know your preference.

@rickstaa addressing in this PR and merging tomorrow works for me!

@ECWireless

Copy link
Copy Markdown
Collaborator

@ECWireless I’ve reviewed the PR and, aside from a few minor improvements around queries and caching, it looks good to merge if you need it before the watercooler. I’ve approved it and am happy to address those improvements in a follow-up PR. Otherwise, I will provide suggestions tomorrow morning and we can merge it tomorrow. Please let me know your preference.

@rickstaa addressing in this PR and merging tomorrow works for me!

Nevermind, planning to merge this in a couple hours unless you say otherwise @rickstaa .

@rickstaa

rickstaa commented Feb 3, 2026

Copy link
Copy Markdown
Member

@ECWireless I’ve reviewed the PR and, aside from a few minor improvements around queries and caching, it looks good to merge if you need it before the watercooler. I’ve approved it and am happy to address those improvements in a follow-up PR. Otherwise, I will provide suggestions tomorrow morning and we can merge it tomorrow. Please let me know your preference.

@rickstaa addressing in this PR and merging tomorrow works for me!

Nevermind, planning to merge this in a couple hours unless you say otherwise @rickstaa .

I’m a bit slow since I’m out of the office and fitting this in between other things. I don’t see any major blockers, just a few suggestions for improvements on my side:

However don't let these be blocking your release you can also discuss or apply later. You can decide how to handle these add the right co-autors #457 (review) and merge. Thanks!

Comment thread components/Treasury/TreasuryVoteTable/index.tsx
* refactor: align folder structure with existing conventions

Reorganized the treasury/poll directory so related components are grouped
closer together and following the folder patterns already used in the
codebase.

* chore: fix incorrect import
ECWireless and others added 2 commits February 3, 2026 19:58
Co-authored-by: Rick Staa <rick.staa@outlook.com>
Co-authored-by: thebeyondr <19380973+thebeyondr@users.noreply.github.com>
Co-authored-by: jipstavenuiter <jipstavenuiter@gmail.com>
Co-authored-by: liamdoyle95 <liamdoyle95@users.noreply.github.com>
Co-authored-by: pyor-shrey <pyor-shrey@users.noreply.github.com>
Co-authored-by: Roaring30s <roaring30s@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

No open projects
Status: Done

Development

Successfully merging this pull request may close these issues.

Improve Voting widget formatting Showcase orchestrator voting activity in the UI

5 participants